/*
 ============================================================================
 文件名 	: EasyBounceRankList.h
 描述		: 用来从文件里读取玩家分数信息.
 ============================================================================
 */
#ifndef EASYBOUNCERANKLIST_H_
#define EASYBOUNCERANKLIST_H_

//引用
#include <e32base.h>
#include <badesca.h>

/**
*  类声明
*/
class CEasyBounceRankList : public CBase
    {
    public:

    	/**
    	 * 两阶段构造函数.
    	 */
        static CEasyBounceRankList* NewL();
      
    	/**
    	 * 两阶段构造函数.
    	 */
        static CEasyBounceRankList* NewLC();
        
    	/**
    	 * ~CEasyBounceDataReader
    	 * 虚析构函数
    	 */
        virtual ~CEasyBounceRankList();
      
    private:

    	/**
    	 * 两阶段构造函数.
    	 */
        void ConstructL();
      
    	/**
    	 * CEasyBounceRankList.
    	 * C++默认构造函数.
    	 */
        CEasyBounceRankList();
      
    private:
    	
    	/**
    	 * 加载排行数据
    	 */
        void LoadRankDataL();
        
        /**
         * 返回该条记录应该插入的位置
         */
        TInt InsertPosition( TInt aScore ); 
      
    public:
    	
    	/**
    	 * 获取排行数据
    	 */
    	void GetRankDataL( CDesCArray* aArray );
    	
    	/**
    	 * 添加排行数据
    	 */
    	TBool SetNewRecord( TInt aScore );
    	
    	/**
    	 * 设置玩家姓名
    	 */
        TInt SetName( const TDesC& aName );
        
    	/**
    	 * 更新排行数据
    	 */
        void UpdateRankData(TBuf<32>* aDes);
        
    	/**
    	 * 读取数据
    	 */
        void ReadRankDataL();
    	
    private: 
    	
    	//玩家名字数组
        RPointerArray<HBufC> iName;
        
        //分数数组
        RArray<TInt> iScore;
        
        //插入位置
        TInt iPos;
    	
    };

#endif /* EASYBOUNCERANKLIST_H_ */
